/*
 * Integers.h
 *
 *  Created on: 02.04.2014
 *      Author: Nicolas Winkler
 */

#ifndef _MATH_INTEGERS_H
#define _MATH_INTEGERS_H

#include <climits>

namespace math
{
#if (UINT_MAX == 0xFFFFFFFF)
	typedef int Int32;
	typedef unsigned int UInt32;
#elif (ULONG_MAX == 0xFFFFFFFFUL)
	typedef long Int32;
	typedef unsigned long UInt32;
#elif (ULLONG_MAX == 0xFFFFFFFFULL)
	typedef long long Int32;
	typedef unsigned long long UInt32;
#endif

#if (UINT_MAX == 0xFFFFFFFFFFFFFFFF)
	typedef int Int64;
	typedef unsigned int UInt64;
#elif (ULONG_MAX == 0xFFFFFFFFFFFFFFFFUL)
	typedef long Int64;
	typedef unsigned long UInt64;
#elif (ULLONG_MAX == 0xFFFFFFFFFFFFFFFFULL)
	typedef long long Int64;
	typedef unsigned long long UInt64;
#endif
}

#endif // _MATH_INTEGERS_H

